package com.snpic.appaw.module.insure.enums.common;


public enum BooleanEnum {
    TRUE("1"),
    FALSE("0");

    private final String value;

    BooleanEnum(String value) {
        this.value = value;
    }

    public String getValue() {
        return value;
    }

    /**
     * 根据字符串值获取对应的枚举实例。
     * @param value 字符串值
     * @return 对应的枚举实例
     */
    public static BooleanEnum fromValue(String value) {
        if (value == null) {
            throw new IllegalArgumentException("Value cannot be null");
        }
        for (BooleanEnum b : BooleanEnum.values()) {
            if (b.getValue().equals(value)) {
                return b;
            }
        }
        throw new IllegalArgumentException("Invalid value: " + value);
    }

    /**
     * 根据布尔值获取对应的枚举实例。
     * @param bool 布尔值
     * @return 对应的枚举实例
     */
    public static BooleanEnum fromBoolean(boolean bool) {
        return bool ? TRUE : FALSE;
    }

    /**
     * 将枚举实例转换为布尔值。
     * @return 对应的布尔值
     */
    public boolean toBoolean() {
        return this == TRUE;
    }

    @Override
    public String toString() {
        return value;
    }
}
